]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
panel: Update window section items on title changes
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 28 Oct 2019 11:32:31 +0000 (12:32 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 28 Oct 2019 11:42:28 +0000 (12:42 +0100)
We currently only update the windows section when either the focus app changes,
or when the app's windows change (that is, a window is opened or closed). This
allows the menu item labels to become stale if the window title changes after
one of those events (for example when switching tabs).

Fix this by updating menu items when the corresponding window title changes.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1830

js/ui/panel.js

index f6ba07d836541add33d31fdf603b54a740d900bb..437fb8d5dcfe438dda19dde94d616203ad021f35 100644 (file)
@@ -170,9 +170,13 @@ class AppMenu extends PopupMenu.PopupMenu {
         let windows = this._app.get_windows();
         windows.forEach(window => {
             let title = window.title || this._app.get_name();
-            this._windowSection.addAction(title, event => {
+            let item = this._windowSection.addAction(title, event => {
                 Main.activateWindow(window, event.get_time());
             });
+            let id = window.connect('notify::title', () => {
+                item.label.text = window.title || this._app.get_name();
+            });
+            item.connect('destroy', () => window.disconnect(id));
         });
     }
 }